Зa время
своего официального
существования язык XML
привлек к себе уже
достаточно много внимания
со стороны разработчиков и
пользователей Интернет.
Сегодня количество
приверженцев этой новой
технологии возрастает
также стремительно, как и
число сообщений об
очередных взятых ею
преградах на пути к
всеобщему признанию.
Несмотря на то, что XML
очень молод (международная
организация W3C утвердила
спецификацию "Extensible
Markup Language(XML) 1.0" в начале
февраля 1998 г) и отдельные
компоненты этого языка
находятся еще в стадии
доработки, уже сегодня
появляются новые языки,
созданные на основе XML,
возникают многочисленные
Web-сервера, использующие
эту технологию для
организации хранящейся на
них информации. Мир
Интернет вокруг нас в
очередной раз
преображается, и мы можем
стать участниками этого
процесса уже сегодня
Целью
данного реферата является
попытка на конкретных
примерах показать
некоторые из возможностей XML,
ответить на ряд часто
возникающих при
знакомстве с новым языком
вопросов. Что же такое XML?
В чем заключаются его
преимущества перед
привычным уже нам языком HTML?
Можно ли использовать XML
на своих Web-страничках уже
сегодня? А если можно, то
как?
Полные
спецификации XML и
связанных с ним языков
доступны на официальной
странице W3C - http://www.w3.org/.
HTML является
упрощенной версией
стандартного общего языка
разметки - SGML (Standart
Generalised Markup Language), который был
утвержден ISO в качестве
стандарта еще в 80-х годах.
Этот язык предназначен для
создания других языков
разметки, он определяет
допустимый набор тэгов, их
атрибуты и внутреннюю
структуру документа.
Контроль за правильностью
использования
дескрипторов
осуществляется при помощи
специального набора
правил, называемых DTD-
описаниями(более подробно
о DTD мы поговорим
чуть позже), которые
используются программой
клиента при разборе
документа. Для каждого
класса документов
определяется свой набор
правил, описывающих
грамматику
соответствующего языка
разметки. С помощью SGML
можно описывать
структурированные данные,
организовывать
информацию, содержащуюся в
документах, представлять
эту информацию в некотором
стандартизованном
формате. Но в виду
некоторой своей сложности,
SGML использовался, в
основном, для описания
синтаксиса других
языков(наиболее известным
из которых является HTML),
и немногие приложения
работали с SGML-
документами напрямую.
Гораздо
более простой и удобный,
чем SGML, язык HTML
позволяет определять
оформление элементов
документа и имеет некий
ограниченный набор
инструкций - тэгов, при
помощи которых
осуществляется процесс
разметки. Инструкции HTML,
в первую очередь,
предназначены для
управления процессом
вывода содержимого
документа на экране
программы-клиента и
определяют этим самым
способ представления
документа, но не его
структуру. В качестве
элемента гипертекстовой
базы данных, описываемой HTML,
используется текстовый
файл, который может легко
передаваться по сети с
использованием протокола HTTP.
Эта особенность, а также
то, что HTML
является открытым
стандартом и огромное
количество пользователей
имеет возможность
применять возможности
этого языка для оформления
своих документов,
безусловно, повлияли на
рост популярности HTML
и сделали его сегодня
главным механизмом
представления информации
в Web
Однако
современные приложения
нуждаются не только в
языке представления
данных на экране клиента,
но и в механизме,
позволяющем определять
структуру документа,
описывать содержащиеся в
нем элементы. HTML
обладает несложным
набором команд и вполне
успешно справляется с
задачей описания
текстовой информации и
отображением ее на экране
программы просмотра-
броузера. Однако сами
отображаемые данные никак
не связаны с теми тэгами,
которые используются для
форматирования, поэтому у
программ-анализаторов нет
возможности использовать
тэги HTML для
поиска нужных нам
фрагментов документа. Т.е.
встретив, например, такое
описание
<font color="red">rose</font>,
программа
просмотра будет знать,
каким цветом отобразить
текст, содержащийся внутри
тэгов <font></font> и, вероятно,
отобразит его правильно,
но ей абсолютно
безразлично, в каком месте
документа встретился этот
тэг, в какие другие тэги
заключен текущий фрагмент,
существуют ли вложенные в
него фрагменты, правильно
ли построены отношения
между объектами. Такое
"безразличие" к
структуре документа
приводит к тому, что поиск
или анализ информации
внутри него ничем не будет
отличаться от работы со
сплошным, не разбитым на
элементы текстовым файлом.
А это, как известно, не
самый эффективный способ
работы с информацией.
Другим
существенным недостатком HTML
можно назвать
ограниченность набора его
тэгов. DTD- правила
для HTML определяют
фиксированный набор
дескрипторов и поэтому у
разработчика нет
возможности вводить
собственные, специальные
тэги. Хотя время от времени
появляются новые
расширения языка(на
сегодняшний день
последней версией HTML
является HTML 4.0), но
долгий путь их
стандартизации,
сопровождаемый
постоянными разногласиями
между основными
производителями броузеров
делают практически
невозможной быструю
адаптацию языка, его
использование для
отображения
специализированной
информации(например,
мультимедийной,
математических,
химических формул и т.д.).
Подводя
итог всему сказанному,
можно утверждать, что HTML
уже сегодня не
удовлетворяет в полной
мере требованиям,
предъявляемым
современными
разработчиками к языкам
подобного рода. И ему на
смену был предложен новый
язык гипертекстовой
разметки, мощный, гибкий, и,
одновременно с этим,
удобный язык XML. В
чем же заключается его
достоинства?
XML
(Extensible Markup Language) - это язык
разметки, описывающий
целый класс объектов
данных, называемых XML-
документами. Этот язык
используется в качестве
средства для описания
грамматики других языков и
контроля за правильностью
составления документов.
Т.е. сам по себе XML
не содержит никаких тэгов,
предназначенных для
разметки, он просто
определяет порядок их
создания. Таким образом,
если, например, мы считаем,
что для обозначения
элемента roseв
документе необходимо
использовать тэг <flower>;, то XML
позволяет свободно
использовать определяемый
нами тэг и мы можем
включать в документ
фрагменты, подобные
следующему:
<flower>rose</flower>
Набор
тэгов может быть легко
расширен. Если,
предположим, мы хотим
также указать, что
описание цветка должно по
смыслу идти внутри
описания оранжереи, в
которой он цветет, то
просто задаем новые тэги и
выбираем порядок их
следования:
Как видно,
сам процесс создания XML
документа очень прост и
требует от нас лишь
базовых знаний HTML
и понимания тех задач,
которые мы хотим
выполнить, используя XML
в качестве языка разметки.
Таким образом, у
разработчиков появляется
уникальная возможность
определять собственные
команды, позволяющие им
наиболее эффективно
определять данные,
содержащиеся в документе.
Автор документа создает
его структуру, строит
необходимые связи между
элементами, используя те
команды, которые
удовлетворяют его
требованиям и добивается
такого типа разметки,
которое необходимо ему для
выполнения операций
просмотра, поиска, анализа
документа.
Еще одним
из очевидных достоинств XML
является возможность
использования его в
качестве универсального
языка запросов к
хранилищам информации.
Сегодня в глубинах W3C
находится на рассмотрении
рабочий вариант стандарта
XML-QL(или XQL), который,
возможно, в будущем
составит серьезную
конкуренцию SQL.
Кроме того, XML-документы
могут выступать в качестве
уникального способа
хранения данных, который
включает в себя
одновременно средства для
разбора информации и
представления ее на
стороне клиента. В этой
области одним из
перспективных направлений
является интеграция Java
и XML -
технологий, позволяющая
использовать мощь обеих
технологий при построении
машинно-независимых
приложений, использующих,
кроме того, универсальный
формат данных при обмене
информации.
XML
позволяет также
осуществлять контроль за
корректностью данных,
хранящихся в документах,
производить проверки
иерархических соотношений
внутри документа и
устанавливать единый
стандарт на структуру
документов, содержимым
которых могут быть самые
различные данные. Это
означает, что его можно
использовать при
построении сложных
информационных систем, в
которых очень важным
является вопрос обмена
информацией между
различными приложениями,
работающими в одной
системе. Создавая
структуру механизма
обмена информации в самом
начале работы над
проектом, менеджер может
избавить себя в будущем от
многих проблем, связанных
с несовместимостью
используемых различными
компонентами системы
форматов данных.
Также
одним из достоинств XML
является то, что
программы-обработчики XML-
документов не сложны и уже
сегодня появились и
свободно распространяются
всевозможные программные
продукты, предназначенные
для работы с XML-документами.Было
заявлено о его поддержке в
последующих версиях Netscape
Communicator, СУБД Oracle, DB-2, в
приложениях MS-Office . Все это
дает основания
предполагать, что, скорее
всего, в ближайшем будущем XML
станет основным языком
обмена информации для
информационных систем,
заменив собой, тем самым, HTML.
На основе XML уже
сегодня созданы такие
известные
специализированные языки
разметки, как SMIL, CDF, MathML, XSL,
и список рабочих проектов
новых языков, находящихся
на рассмотрении W3C,
постоянно пополняется.